package cn.yuemouren.security.core.social.qq.connect;

import cn.yuemouren.security.core.social.qq.api.QQ;
import cn.yuemouren.security.core.social.qq.api.QQUserInfo;
import org.springframework.social.connect.ApiAdapter;
import org.springframework.social.connect.ConnectionValues;
import org.springframework.social.connect.UserProfile;

/**
 * @Author: Timi
 * @Description: QQ适配器
 * @Date: 2020/6/26 15:10
 * @Version: v1.0
 */
public class QQAdapter implements ApiAdapter<QQ> {
    /**
     * 测试与qq连接是否可用
     * @param api
     * @return
     */
    @Override
    public boolean test(QQ api) {
        return true;
    }

    /**
     * 设置连接参数
     * @param api
     * @param values
     */
    @Override
    public void setConnectionValues(QQ api, ConnectionValues values) {
        QQUserInfo userInfo = api.getUserInfo();
        values.setDisplayName(userInfo.getNickname());//昵称
        values.setImageUrl(userInfo.getFigureurl_qq_1());//40*40的头像
        values.setProviderUserId(userInfo.getOpenId());
        values.setProfileUrl(null);//主页地址，qq没有
    }

    /**
     * 与上面方法类似
     * @param api
     * @return
     */
    @Override
    public UserProfile fetchUserProfile(QQ api) {
        return null;
    }

    /**
     * 通过消息更新 主页  qq没有
     * @param api
     * @param message
     */
    @Override
    public void updateStatus(QQ api, String message) {
        //do nothing
    }
}
